home *** CD-ROM | disk | FTP | other *** search
/ PC World Komputer 2010 April / PCWorld0410.iso / hity wydania / Ubuntu 9.10 PL / karmelkowy-koliberek-desktop-9.10-i386-PL.iso / casper / filesystem.squashfs / usr / include / xen / evtchn.h
C/C++ Source or Header  |  2009-10-16  |  3KB  |  89 lines

  1. /******************************************************************************
  2.  * evtchn.h
  3.  *
  4.  * Interface to /dev/xen/evtchn.
  5.  *
  6.  * Copyright (c) 2003-2005, K A Fraser
  7.  *
  8.  * This program is free software; you can redistribute it and/or
  9.  * modify it under the terms of the GNU General Public License version 2
  10.  * as published by the Free Software Foundation; or, when distributed
  11.  * separately from the Linux kernel or incorporated into other
  12.  * software packages, subject to the following license:
  13.  *
  14.  * Permission is hereby granted, free of charge, to any person obtaining a copy
  15.  * of this source file (the "Software"), to deal in the Software without
  16.  * restriction, including without limitation the rights to use, copy, modify,
  17.  * merge, publish, distribute, sublicense, and/or sell copies of the Software,
  18.  * and to permit persons to whom the Software is furnished to do so, subject to
  19.  * the following conditions:
  20.  *
  21.  * The above copyright notice and this permission notice shall be included in
  22.  * all copies or substantial portions of the Software.
  23.  *
  24.  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
  25.  * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
  26.  * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
  27.  * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
  28.  * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
  29.  * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
  30.  * IN THE SOFTWARE.
  31.  */
  32.  
  33. #ifndef __LINUX_PUBLIC_EVTCHN_H__
  34. #define __LINUX_PUBLIC_EVTCHN_H__
  35.  
  36. /*
  37.  * Bind a fresh port to VIRQ @virq.
  38.  * Return allocated port.
  39.  */
  40. #define IOCTL_EVTCHN_BIND_VIRQ                \
  41.     _IOC(_IOC_NONE, 'E', 0, sizeof(struct ioctl_evtchn_bind_virq))
  42. struct ioctl_evtchn_bind_virq {
  43.     unsigned int virq;
  44. };
  45.  
  46. /*
  47.  * Bind a fresh port to remote <@remote_domain, @remote_port>.
  48.  * Return allocated port.
  49.  */
  50. #define IOCTL_EVTCHN_BIND_INTERDOMAIN            \
  51.     _IOC(_IOC_NONE, 'E', 1, sizeof(struct ioctl_evtchn_bind_interdomain))
  52. struct ioctl_evtchn_bind_interdomain {
  53.     unsigned int remote_domain, remote_port;
  54. };
  55.  
  56. /*
  57.  * Allocate a fresh port for binding to @remote_domain.
  58.  * Return allocated port.
  59.  */
  60. #define IOCTL_EVTCHN_BIND_UNBOUND_PORT            \
  61.     _IOC(_IOC_NONE, 'E', 2, sizeof(struct ioctl_evtchn_bind_unbound_port))
  62. struct ioctl_evtchn_bind_unbound_port {
  63.     unsigned int remote_domain;
  64. };
  65.  
  66. /*
  67.  * Unbind previously allocated @port.
  68.  */
  69. #define IOCTL_EVTCHN_UNBIND                \
  70.     _IOC(_IOC_NONE, 'E', 3, sizeof(struct ioctl_evtchn_unbind))
  71. struct ioctl_evtchn_unbind {
  72.     unsigned int port;
  73. };
  74.  
  75. /*
  76.  * Unbind previously allocated @port.
  77.  */
  78. #define IOCTL_EVTCHN_NOTIFY                \
  79.     _IOC(_IOC_NONE, 'E', 4, sizeof(struct ioctl_evtchn_notify))
  80. struct ioctl_evtchn_notify {
  81.     unsigned int port;
  82. };
  83.  
  84. /* Clear and reinitialise the event buffer. Clear error condition. */
  85. #define IOCTL_EVTCHN_RESET                \
  86.     _IOC(_IOC_NONE, 'E', 5, 0)
  87.  
  88. #endif /* __LINUX_PUBLIC_EVTCHN_H__ */
  89.